#!/bin/bash

# 设置编码格式
export LC_ALL=en_US.UTF-8

# 确保build目录存在
mkdir -p build

# 下载依赖文件
echo "============== 下载依赖文件 =============="
go mod tidy
echo "Done"

# 编译 Windows 版本
echo ""
echo "============== 正在编译 Windows =============="
# 读取版本号参数
VERSION="${1}"
# 设置 Go 编译器为目标平台
export GOOS=windows
# 执行交叉编译
go"${VERSION}" build -ldflags="-s -w" -o build/vector.exe main.go && upx -9 build/vector.exe
export GOOS=linux

# 编译 Linux 版本
echo ""
echo "============== 正在编译 Linux =============="
# 设置 Go 编译器为目标平台
export GOOS=linux
# 执行交叉编译
go build -ldflags="-s -w" -o build/vector main.go && upx -9 build/vector

# 完成提示
echo ""
echo "全部编译完成！"

# 复制配置文件到 build 目录
echo ""
echo "============== 复制配置文件 =============="
# 使用 cp 命令拷贝配置文件，-f 强制覆盖文件
cp -rf config/*.toml build/config/ || { echo "Error copying params.json" >&2; exit 1; }
echo "Done"

# 结束脚本
exit 0
